package com.lk.service;

import com.lk.utils.ResponseCommon;

import java.util.List;

/**
 * Created by daniel on 17/2/8.
 */
public interface BaseService<T> {


    /**
     * 根据id获取单条数据
     *
     * @param id
     * @return
     */
    T getOneById(String id);

    /**
     * 获取单条数据
     *
     * @param t
     * @return
     */
    T getOne(T t);

    /**
     * 获取列表数据
     *
     * @param t
     * @return
     */
    List<T> getAll(T t);


    /**
     * 保存数据（插入或更新）
     *
     * @param t
     * @return
     */
    ResponseCommon saveOrUpdate(T t);

    /**
     * 更新数据状态（假删除）
     */
    ResponseCommon updateFlagById(String id);

    /**
     * 更新数据状态（假删除）
     */
    ResponseCommon updateFlag(T t);

    /**
     * 删除数据
     */
    ResponseCommon deleteById(String id);

    /**
     * 删除数据
     */
    ResponseCommon delete(T t);
}
